Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Wimbledon - London Braunschweig Challenger M25 Roehampton U.S. Open - New York Chengdu Open - Chengdu Shanghai Rolex Masters - Shanghai Astana Open - Astana Mouilleron-Le-Captif Challenger Rakuten Japan Open - Tokyo Playford Challenger Bergamo Challenger Matsuyama Challenger Sydney Challenger ASB Classic - Auckland Hong Kong Tennis Open - Hong Kong Oeiras 1 Challenger Australian Open - Melbourne Dallas Open - Dallas M15 Bressuire M15 Azay-le-Rideau M15+H Bagnoles de l'Orne BNP Paribas Open - Indian Wells Koblenz Challenger Cherbourg Challenger Pau Challenger Mifel Tennis Open - Los Cabos Lille Challenger Abierto Mexicano Telcel - Acapulco Miami Open - Miami Barcelona Challenger Mutua Madrid Open - Madrid M25 Vic M25 Villeneuve-Loubet French Open - Paris cinch Championships - London M25+H Ajaccio Mallorca Championships - Mallorca Wimbledon - London Salzburg Challenger Pozoblanco Challenger National Bank Open - Montreal M25 Porto U.S. Open - New York M25+H Bagneres-de-Bigorre Rennes Challenger Japan Open Tennis Championships - Tokyo Chengdu Open - Chengdu Shanghai Rolex Masters - Shanghai M25 Monastir M25 Monastir M15 Monastir Dallas Open - Dallas St. Tropez Challenger M15 Monastir National Bank Open - Toronto M15 Monastir BNP Paribas Open - Indian Wells Delray Beach Open - Delray Beach M15 Monastir Adelaide International - Adelaide Australian Open - Melbourne M15 Bressuire M15 Monastir Miami Open - Miami M25 Toulouse-Balma Oeiras 5 Challenger US Men's Clay Court Championship - Houston M15 Lons-le-Saunier Internazionali BNL d'Italia - Rome French Open - Paris M25 Villeneuve-Loubet M25 Mataro Cincinnati Open - Cincinnati Perugia Challenger Wimbledon - London Nottingham 3 Challenger National Bank Open - Toronto U.S. Open - New York Segovia Challenger Guangzhou Challenger Rennes Challenger Chengdu Open - Chengdu France F12 France F15 France F17 France F20 France F1 France F8 France F9 France F10 France F12 Belgium F3 France F13 France F15 France F19 France F20 France F1 France F2 France F4 France F5 Spain F11 Spain F14 France F8 France F10 France F11 France F12 Spain F26 Spain F27 Spain F28 Spain F29 Belgium F2 France F13 France F14 France F15 Spain F34 Spain F35 France F17 France F18 France F19 Spain F37 France F20 Rodez Spain F38 Spain F1 Great Britain F1 Spain F2 Great Britain F2 France F1 Spain F3 France F2 Spain F5 Portugal F1 France F4 Portugal F2 France F5 Spain F10 Spain F11 France F6 Spain F13 Spain F14 Spain F17 Spain F20 Spain F21 France F10 Spain F22 Spain F24 Spain F25 Spain F26 Spain F27 Spain F29 Spain F30 Spain F32 Spain F35 Spain F36 Spain F38 Spain F39 Turkey F1 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 Spain F4 France F4 France F5 Spain F6 Croatia F5 Croatia F6 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Spain F16 Belgium F1 Netherlands F4 Spain F20 Spain F21 Spain F22 Italy F22 USA F28 USA F1 USA F2 USA F3 Spain F1 Spain F2 Spain F3 Spain F4 France F4 Spain F6 Spain F7 Spain F8 Spain F9 Spain F14 Italy F22 Spain F32 Portugal F9 Spain F15 France F19 France F12 France F13 France F2 France F2 France F3 Belgium F2 France F7 France F4 France F18 Spain F39 Spain F6 Spain F9 M15 Manacor M15+H Bagnoles-de-l'Orne M15+H Bressuire M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Sintra M25+H Rodez M15 Benicarlo M15 Madrid M15 Manacor M15 Manacor M15+H Bressuire M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Poitiers M25 Reus M25 Angers M15 Las Palmas de Gran Canaria M25 Montauban M25+H Ajaccio M15 Xativa M25 Santander M25 Bagneres-De-Bigorre M25+H Rodez M25 Toulouse M15 Manacor M25 Vale do Lobo M15 Creteil M15 Poitiers M25 Toulouse-Balma M25 Angers M25 Vic M25 Montauban M25 Porto M15 Madrid M25 Reus M25 Monastir M25 Toulouse-Balma M25 Esch/Alzette M15 Poitiers M25 Hazebrouck M15 Poitiers M25 Mataro Quimper Challenger Cherbourg Challenger M15 Gijon Recanati Challenger Quimper Challenger Cherbourg Challenger Bath Challenger St. Brieuc Challenger Tunis Challenger Recanati Challenger Segovia Challenger Seville Challenger Szczecin Challenger Orleans Challenger Sacramento Challenger Tiburon Challenger Rennes Challenger Charlottesville Challenger Bratislava Challenger Yokohama Challenger Heilbronn Challenger Quimper Challenger Cherbourg Challenger St. Brieuc Challenger Panama City Challenger Savannah Challenger Tunis Challenger Tallahassee Challenger Bordeaux Challenger Nottingham Challenger Furth Challenger Prague Challenger Milan Challenger Todi Challenger San Benedetto Challenger Recanati Challenger Guimaraes Challenger San Marino Challenger Cordenons Challenger Como Challenger St. Remy Challenger Petange Challenger Seville Challenger Kenitra Challenger Orleans Challenger Mons Challenger Rennes Challenger Seoul Challenger Bratislava Challenger M15 Monastir Yeongwol Challenger Yokohama Challenger Heilbronn Challenger Chitre Challenger Cherbourg Challenger Guadalajara Challenger Le Gosier Challenger Sarasota Challenger Tunis Challenger Rome Challenger Nottingham Challenger Mestre Challenger M25 Carnac Caltanissetta Challenger Todi Challenger Poznan Challenger Vancouver Challenger Aptos Challenger St. Remy Challenger Seville Challenger Orleans Challenger Mons Challenger Rennes Challenger Charlottesville Challenger Mouilleron-Le-Captif Challenger Knoxville Challenger Noumea Challenger Cherbourg Challenger Quimper Challenger Le Gosier Challenger Mersin Challenger Vercelli Challenger Rome Challenger Bordeaux Challenger Furth Challenger Prague Challenger Marburg Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Barranquilla Challenger Trnava Challenger Orleans Challenger Rome Challenger Mons Challenger Casablanca Challenger Kobe Challenger Yokohama Challenger Cherbourg Challenger Quimper Challenger Shenzhen Challenger Rome Challenger Furth Challenger Lyon Challenger Braunschweig Challenger Segovia Challenger Manerbio Challenger Como Challenger Genova Challenger Seville Challenger Orleans Challenger Mons Challenger Ho Chi Minh City Challenger Suzhou Challenger Eckental Challenger Kobe Challenger Noumea Challenger Koblenz Challenger Rennes Challenger Maui Challenger Cherbourg Challenger Wroclaw Challenger Santiago Challenger Buenos Aires Challenger Sophia Antipolis Challenger Bordeaux Challenger Surbiton Challenger Lisbon Challenger Recanati Challenger Perugia Challenger Ortisei Challenger Ningboo Challenger Traralgon Challenger Canberra Challenger Eckental Challenger Toyota Challenger Noumea Challenger Koblenz Challenger Rennes Challenger Cherbourg Challenger Lille Challenger Aix En Provence Challenger Bordeaux Challenger Lisbon Challenger Poznan Challenger Lyon Challenger Blois Challenger Perugia Challenger Mallorca Challenger Seville Challenger Szczecin Challenger Orleans Challenger Florence Challenger Eckental Challenger Noumea Challenger Koblenz Challenger Aix En Provence Challenger Parma Challenger Recanati Challenger Amersfoort Challenger Prague Challenger Szczecin Challenger Cherbourg Challenger Forli 6 Challenger Como Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Hamburg Challenger Brest Challenger Bergamo Challenger Roanne Challenger Oeiras 2 Challenger Monterrey Challenger Lugano Challenger Lille Challenger Madrid Challenger Oeiras 3 Challenger Rome Challenger Aix En Provence Challenger Cagliari Challenger Turin Challenger Perugia Challenger Blois Challenger Hamburg Challenger Madrid Challenger Porto Challenger Cordenons Challenger Mouilleron-Le-Captif Challenger Taipei 2 Challenger Seoul Challenger Kobe Challenger Canberra Challenger Bordeaux Challenger Istanbul Challenger Rennes Challenger San Diego Challenger Phoenix Challenger Cherbourg Challenger Bordeaux Challenger Nottingham Challenger Scheveningen Challenger Royan Challenger Pozoblanco Challenger Alphen Challenger St. Remy Challenger Petange Challenger Barranquilla Challenger Bordeaux Challenger Cassis Challenger Roanne Challenger Mons Challenger Scheveningen Challenger Challenger DCNS de Cherbourg - Cherbourg Cherbourg Challenger BMW Open - Munich AEGON Championships - London Cherbourg Challeger Open de Moselle - Metz Open 13 - Marseille St. Brieuc Challenger Open de Nice Cote d'Azur - Nice AEGON Championships - London Moselle Open - Metz Apia International - Sydney Open Sud de France - Montpellier Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona AEGON Championships - London Bordeaux Challenger AEGON International - Eastbourne Hall of Fame Tennis Championships - Newport Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier Royal Guard Open Chile - Vina del Mar Copa Claro - Buenos Aires Open 13 - Marseille Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Open de Nice Cote d'Azur - Nice AEGON Championships - London Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Swiss Indoors Basel - Basel Brisbane International - Brisbane Heineken Open - Auckland Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Casablanca Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Austrian Open - Kitzbuhel Moselle Open - Metz Erste Bank Open - Vienna Valencia Open - Valencia Millennium Estoril Open - Estoril Open Sud de France - Montpellier Rio Open - Rio de Janeiro Open 13 - Marseille Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest Bet-at-home Open - Hamburg Open D'Orleans - Orleans SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Moselle Open - Metz Rakuten Japan Open - Tokyo European Open - Antwerp Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril AEGON Championships - London Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Suisse Open - Gstaad Abierto Mexicano - Los Cabos Moselle Open - Metz St. Brieuc Challenger Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel Monza Challenger ASB Classic - Auckland Open Sud de France - Montpellier New York Open - New York Delray Beach Open - Delray Beach Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Brisbane International - Brisbane Sydney International - Sydney Open Sud de France - Montpellier Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Geneva Open - Geneva Open Parc - Lyon Nature Valley International - Eastbourne Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Abierto Mexicano de Tenis Mifel - Los Cabos Rakuten Japan Open - Tokyo Tata Open Maharashtra - Pune Forte Village Sardegna Open - Sardinia Sofia Open - Sofia Pozoblanco Challenger Murray River Open - Melbourne Serbia Open - Belgrade BMW Open - Munich Nordea Open - Bastad Singapore Tennis Open - Singapore Anytech365 Andalucia Open - Marbella Adelaide International 1 - Adelaide Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade Segovia Challenger St. Brieuc Challenger cinch Championships - London Mallorca Championships - Mallorca Truist Atlanta Open - Atlanta St. Remy Challenger Citi Open - Washington Winston-Salem Open - Winston-Salem Swiss Indoors Basel - Basel Mons Challenger San Diego Open - San Diego Korea Open - Seoul Tennis Napoli Open - Naples Orleans Challenger Adelaide International 1 - Adelaide Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Banja Luka Open - Banja Luka cinch Championships - London BMW Open - Munich Open Parc - Lyon Mifel Tennis Open - Los Cabos Bratislava Challenger Helsinki Challenger Noumea Challenger Seoul Challenger Geneva Challenger Szekesfehervar Challenger Porto Challenger Orleans Challenger Troisdorf Challenger Mauthausen Challenger Karlsruhe Challenger Cordenons Challenger Mallorca Challenger Canberra Challenger Guangzhou Challenger Bordeaux Challenger Cagliari Challenger Cordenons Challenger Bordeaux Challenger Budapest Challenger Mouilleron-Le-Captif Challenger Porto 2 Challenger Aix En Provence Challenger Nottingham Challenger Braunschweig Challenger Scheveningen Challenger Roanne Challenger Vancouver Challenger Como Challenger Genova Challenger Seville Challenger Szczecin Challenger Sibiu Challenger Orleans Challenger St. Brieuc Challenger Mouilleron-Le-Captif Challenger Kobe Challenger St. Brieuc Challenger Alicante Challenger Sarasota Challenger Bordeaux Challenger Barcelona Challenger Sassuolo Challenger Mouilleron-Le-Captif Challenger Troyes Challenger Phoenix Challenger Lille Challenger St. Brieuc Challenger Sophia Antipolis Challenger Bordeaux Challenger Pozoblanco Challenger Lisbon Challenger Vicenza Challenger Prostejov Challenger Blois Challenger Milan Challenger Perugia Challenger Segovia Challenger Aptos Challenger Portoroz Challenger Genova Challenger Szczecin Challenger Biella Challenger Fairfield Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Canberra Challenger Burnie Challenger Cherbourg Challenger Indian Wells Challenger Prostejov Challenger Parma Challenger Istanbul Challenger Hamburg Challenger Cherbourg Challenger Nur-Sultan 2 Challenger Marbella Challenger Belgrade Challenger Heilbronn Challenger Oeiras 3 Challenger Lyon Challenger Salzburg-Anif Challenger Porto 2 Challenger Rennes Challenger Braga Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Brest Challenger Las Vegas Challenger Roanne Challenger Pau Challenger Orleans Challenger Bari Challenger BNP Paribas Masters - Paris Sony Open Tennis - Miami Charlottesville Challenger Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Miami Open - Miami Turin Challenger Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Rome 1 Challenger Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Prague 2 Challenger Mutua Madrid Open - Madrid Bordeaux Challenger Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Vicenza Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Lyon Challenger Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Troyes Challenger Braunschweig Challenger Mutua Madrid Open - Madrid Porto Challenger Amersfoort Challenger Shanghai Rolex Masters - Shanghai Pozoblanco Challenger Mouilleron-Le-Captif Challenger Segovia Challenger Prague 3 Challenger Jinan Challenger Cassis Challenger Rennes Challenger Valencia Challenger Maia Challenger Oeiras 1 Challenger Ottignies-Louvain-la-Neuve Challenger Koblenz Challenger French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Cherbourg Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Pau Challenger U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Maia Challenger Girona Challenger Open Sud de France - Montpellier US Men's Clay Court Championship - Houston Aircel Chennai Open - Chennai ABN AMRO World Tennis Tournament - Rotterdam Barcelona Open BancSabadell - Barcelona Aircel Chennai Open - Chennai Millennium Estoril Open - Estoril EFG Swiss Open - Gstaad AEGON Championships - London Plava Laguna Croatia Open - Umag Almaty Open - Almaty Davis Cup, World Group, QF, JPN-CZE 0-5 Davis Cup, World Group, 1R, GBR-JPN 3-1 Davis Cup, World Group, PO, JPN-UKR 5-0 Davis Cup, World Group, 1R, JPN-FRA 1-4 Swiss Open - Gstaad Davis Cup, World Group, PO, JPN-BIH 4-0 Davis Cup, World Group, QR, CHN-JPN 2-3 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Almaty Open - Almaty Abierto Mexicano Telcel - Acapulco Rakuten Japan Open - Tokyo ASB Classic - Auckland Citi Open - Washington Nordea Open - Bastad Winston-Salem Open - Winston-Salem Citi Open - Washington French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Internazionali BNL d'Italia - Rome All Lower level tournaments Western & Southern Open - Cincinnati Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo Olympics - Rio de Janeiro Olympics - Tokyo French Open - Paris U.S. Open - New York French Open - Paris M25 Benicarlo Internazionali BNL d'Italia - Rome Davis Cup, World Group, 1R, JPN-ITA 1-3 Davis Cup, Group I, PO, JPN-POL 4-0 M15 Valencia Olympics - Paris Delray Beach Open - Delray Beach Davis Cup, World Group, PO, COL-JPN 2-3 Hopman Cup - Perth